Automated reactive talent matching

ABSTRACT

Improved automated techniques are described that more efficiently match candidates to job opportunities. These techniques include a reactive matching process that uses improved pattern-matching algorithms to determine exactly how well a particular individual matches an employer&#39;s requirements. In at least one embodiment, results are displayed in real time using user-friendly visual indicators on job displays and/or on a dashboard.

CROSS-REFERENCE TO RELATED APPLICATION

The present application claims priority as a continuation of U.S.Utility application Ser. No. 15/004,846 for “Automated Reactive TalentMatching,”, filed Jan. 22, 2016, which is incorporated by referenceherein in its entirety.

U.S. Utility application Ser. No. 15/004,846 claims priority as acontinuation-in-part of U.S. Utility application Ser. No. 11/393,394 for“System, Method and Computer Program Products for Creating andMaintaining a Consolidated Jobs Database,”, filed Mar. 30, 2006 andissued Jul. 12, 2016 as U.S. Pat. No. 9,390,422, which is incorporatedby reference herein in its entirety.

Technical Field

The present disclosure relates to automated techniques for matchingcandidates to jobs, based on information stored in a candidate databaseand/or a jobs database.

Description of the Related Art

There are many ways for candidates to find employment and/or foremployers to identify suitable candidates for potential hiring. Manycandidates seek jobs by scanning advertisements, either online or inprinted publications. Alternatively, candidates may submit résumés torecruiters and other job-matching professionals, who review thesematerials and try to find jobs that match qualifications and desires ofthe candidates. In some cases, employers looking for talent may userecruiters to “cold-call” potential hires, based on some determinationthat such individuals may be interested in a position at a particularemployer.

Such existing techniques for matching job-seeking candidates to jobstend to be inefficient and time-consuming, often failing to take intoaccount all relevant factors. In particular, such techniques rely onhumans to review qualifications (and other characteristics) of potentialemployees and to manually determine their suitability for particularjobs. Key factors and considerations may be missed or may not becorrectly taken into account, due to human error, lack of knowledge, orthe sheer amount of data involved.

As a result, existing techniques often fail to match candidates to thosejob opportunities for which they are best suited. In addition, existingtechniques, even when they do achieve a measure of success, can beinefficient, expensive, and time-consuming.

SUMMARY

According to various embodiments, improved automated techniques aredescribed that more efficiently match candidates to job opportunities,based on information stored in a candidate database and/or a jobsdatabase. These techniques include a reactive matching process, by whichthe system automatically reviews key candidate information such asbackground, employment history, skills, location, and the like, andcompares such information against key job posting information todetermine how well the candidate matches a specific job. The reactivematching process uses improved pattern-matching algorithms to determineexactly how well a particular individual matches an employer'srequirements. In at least one embodiment, results are displayed in realtime using user-friendly visual indicators on job displays and/or on adashboard.

In at least one embodiment, the system analyzes a comprehensive set ofdata elements about active candidates (job seekers), based oninformation entered manually (e.g., by the candidate) and/or informationautomatically extracted from the candidate's digital résumé. The systemalso analyzes data from job postings that have been entered directlyinto the system and/or information that has been obtained by aggregationof online job postings. Such information can be collected from anyavailable source, such as for example websites of national and localemployers, private job boards, social media sites, state job boards,local and federal government sites, military branch sites, hospitals,industry associations, recruiters, education institutions, green jobboards, non-profits, newspapers, volunteer sites, and/or chambers ofcommerce.

Based on such analysis, the system determines how well a candidatematches a particular job's requirements. The analysis and determinationcan be made using algorithms that determine the level and proximity ofmatch of each of a number of elements. Each element can be assigned aweight.

Once the determination has been made, the system presentsrecommendations and/or other output to the candidate and/or to theemployer. The display can be static or it can be interactive, in amanner that allows the candidate and/or the employer to drill down,change parameters, and/or otherwise interact with the display.

Further details and variations are described herein.

BRIEF DESCRIPTION OF THE DRAWINGS

The accompanying drawings illustrate several embodiments. Together withthe description, they serve to explain the principles of the system andmethod according to the embodiments. One skilled in the art willrecognize that the particular embodiments illustrated in the drawingsare merely exemplary, and are not intended to limit scope.

FIG. 1 is a block diagram depicting a hardware architecture forimplementing a system for automated reactive talent matching, accordingto one embodiment.

FIG. 2 is a block diagram depicting a hardware architecture forimplementing a client/server system for automated reactive talentmatching, according to one embodiment.

FIG. 3 is a screen shot depicting an example of a displayed list ofmatching jobs, a according to one embodiment.

FIG. 4 is a screen shot depicting an example of a display of detailedinformation concerning a General Requirements Match score, according toone embodiment.

FIG. 5A is a screen shot depicting an example of a display of detailedinformation concerning a Specialized Requirements Match score, aaccording to one embodiment.

FIG. 5B is a screen shot depicting an example of a display of detailedinformation concerning a Skills Match score, a according to oneembodiment.

FIG. 5C is a screen shot depicting an example of a display of detailedinformation concerning an Interest and Values Match score, a accordingto one embodiment.

FIG. 6 is a flow diagram depicting an overall method for automatedreactive talent matching according to one embodiment.

FIG. 7A is a flow diagram depicting method steps for collectingcandidate and job posting data, according to one embodiment.

FIG. 7B is a flow diagram depicting method steps for comparing how wella candidate matches a job's requirements, according to one embodiment.

FIGS. 8 and 9 are flow diagrams depicting method steps for ranking andmatching candidates against job postings, according to one embodiment.

FIG. 10 is a flow diagram depicting method steps for filtering results,displaying details, and editing criteria, according to one embodiment.

DETAILED DESCRIPTION OF THE EMBODIMENTS

In at least one embodiment, the system described herein automates theprocess of matching candidates to jobs. One skilled in the art willrecognize that the described techniques can be applied in othercontexts. Accordingly, the following description is intended toillustrate various embodiments by way of example, rather than to limitscope.

System Architecture

According to various embodiments, the system can be implemented on anyelectronic device equipped to receive, store, and present information.Such an electronic device may be, for example, a desktop computer,laptop computer, smartphone, tablet computer, or the like.

Although the system is described herein in connection with animplementation in a computer, one skilled in the art will recognize thatthe techniques described herein can be implemented in other contexts,and indeed in any suitable device capable of receiving and/or processinguser input. Accordingly, the following description is intended toillustrate various embodiments by way of example, rather than to limitscope.

Referring now to FIG. 1 , there is shown a block diagram depicting ahardware architecture for practicing the described system, according toone embodiment. Such an architecture can be used, for example, forimplementing the techniques of the system in a computer or other device101. Device 101 may be any electronic device equipped to receive, store,and/or present information, and to receive user input in connect withsuch information.

In at least one embodiment, device 101 has a number of hardwarecomponents well known to those skilled in the art. Input device 102 canbe any element that receives input from user 100, including, forexample, a keyboard, mouse, stylus, touch-sensitive screen(touchscreen), touchpad, trackball, accelerometer, five-way switch,microphone, or the like. Input can be provided via any suitable mode,including for example, one or more of: pointing, tapping, typing,dragging, and/or speech.

Data store 106 can be any magnetic, optical, or electronic storagedevice for data in digital form; examples include flash memory, magnetichard drive, CD-ROM, DVD-ROM, or the like. In at least one embodiment,data store 106 stores information which may include one or moredatabases, referred to collectively as a database 111, that can beutilized and/or displayed according to the techniques described below.In another embodiment, database 111 can be stored elsewhere, andretrieved by device 101 when needed for presentation to user 100.Database 111 may include one or more data sets, which may be used for avariety of purposes and may include a wide variety of files, metadata,and/or other data. In at least one embodiment, database 111 may includecandidate data 109 (describing candidates and their characteristics) andjobs data 119 (describing employers and employment opportunities).

Display screen 103 can be any element that graphically displaysinformation such as items from database 111, and/or the results of stepsperformed on such items to provide information useful to a user. Suchoutput may include, for example, raw data, data visualizations,navigational elements, graphical elements drawing attention to datavisualizations or graphical elements, queries requesting confirmationand/or parameters for information identification, display, orpresentation, or the like. Additionally or alternatively, display screen103 may display results of the reactive talent matching algorithmsdescribed herein in a wide variety of formats, including but not limitedto lists, charts, graphs, and the like. In at least one embodiment whereonly some of the desired output is presented at a time, a dynamiccontrol, such as a scrolling mechanism, may be available via inputdevice 102 to change which information is currently displayed, and/or toalter the manner in which the information is displayed.

In at least one embodiment, the information displayed on display screen103 may include data in text and/or graphical form. Such data maycomprise visual cues, such as height, distance, and/or area, to conveyvalues of displayed data items. In at least one embodiment, labelsaccompany data items on display screen 103, or can be displayed whenuser 100 taps on or clicks on a data entry, or causes an onscreen cursorto hover over a data item.

Furthermore, as described in more detail below, display screen 103 canselectively present a wide variety of data related to viewing,annotating, and/or modifying items such as jobs data, candidate data,matching job opportunities, scores, comparisons, and the like. Inparticular, as described herein, user 100 can provide input, such as aselection from a menu containing a variety of options, to determine thevarious characteristics of the information presented such as the type,scope, and/or format of the information to be displayed on displayscreen 103.

Processor 104 can be a conventional microprocessor for performingoperations on data under the direction of software, according towell-known techniques. Memory 105 can be random-access memory, having astructure and architecture as are known in the art, for use by processor104 in the course of running software.

Data store 106 can be local or remote with respect to the othercomponents of device 101. In at least one embodiment, device 101 isconfigured to retrieve data from a remote data storage device whenneeded. Such communication between device 101 and other components cantake place wirelessly, by Ethernet connection, via a computing networksuch as the Internet, via a cellular network, or by any otherappropriate means. This communication with other electronic devices isprovided as an example and is not necessary.

In at least one embodiment, data store 106 is detachable in the form ofa CD-ROM, DVD, flash drive, USB hard drive, or the like. Database 111can be entered from a source outside of device 101 into a data store 106that is detachable, and later displayed after the data store 106 isconnected to device 101. In another embodiment, data store 106 is fixedwithin device 101.

Referring now to FIG. 2 , there is shown a block diagram depicting ahardware architecture in a client/server environment, according to oneembodiment. Such an implementation may use a “black box” approach,whereby data storage and processing are done completely independentlyfrom user in-put/output. An example of such a client/server environmentis a web-based implementation, wherein client device 108 runs a browserthat provides a user interface for interacting with web pages and/orother web-based resources from server 110. Items from the database 111,reports, and/or other data derived from the database 111 can bepresented as part of such web pages and/or other web-based resources,using known protocols and languages such as Hypertext Markup Language(HTML), Java, JavaScript, and the like.

Client device 108 can be any electronic device incorporating the inputdevice 102 and/or display screen 103, such as a desktop computer, laptopcomputer, personal digital assistant (PDA), cellular telephone,smartphone, music player, handheld computer, tablet computer, kiosk,game system, or the like. Any suitable type of communications network113, such as the Internet, can be used as the mechanism for transmittingdata between client device 108 and server 110, according to any suitableprotocols and techniques. In addition to the Internet, other examplesinclude cellular telephone networks, EDGE, 3G, 4G, long term evolution(LTE), Session Initiation Protocol (SIP), Short Message Peer-to-Peerprotocol (SMPP), 557, Wi-Fi, Bluetooth, ZigBee, Hypertext TransferProtocol (HTTP), Secure Hypertext Transfer Protocol (SHTTP),Transmission Control Protocol/Internet Protocol (TCP/IP), and/or thelike, and/or any combination thereof. In at least one embodiment, clientdevice 108 transmits requests for data via communications network 113,and receives responses from server 110 containing the requested data.

In this implementation, server 110 is responsible for data storage andprocessing, and incorporates data store 106 for storing database 111.Server 110 may include additional components as needed for retrievingdata and/or database 111 from data store 106 in response to requestsfrom client device 108.

In at least one embodiment, client device 108 and server 110 bothinclude additional components such as processor 104 and memory 105,enabling them to perform computing functions as well known in the art.

In at least one embodiment, data store 106 may be organized into one ormore well-ordered data sets, with one or more data entries in each set.Data store 106, however, can have any suitable structure. Accordingly,the particular organization of data store 106 need not resemble the formin which information from data store 106 is displayed to user 100. In atleast one embodiment, an identifying label is also stored along witheach data entry, to be displayed along with each data entry.

In at least one embodiment, database 111 is organized in a file systemwithin data store 106. Appropriate indexing can be provided to associateparticular documents with particular quantitative data elements,reports, other documents, and/or the like. Database 111 may include anyof a wide variety of data structures known in the database arts. As inFIG. 1 , database 111 may include one or more data sets, which mayinclude candidate data 109, jobs data 119, and/or other data (notshown).

Candidate data 109 and/or jobs data 119 can be retrieved from the datastore 106, or from any other source. Data store 106 may be client-basedand/or server-based. In at least one embodiment, input device 102 isconfigured to receive data entries from user 100, to be added to datastore 106. User 100 may provide such data entries via the hardware andsoftware components described above according to means that are wellknown to those skilled in the art. Server 110 may be connected toseveral client devices 108 that are used by various candidates, and maythus store candidate data 109 and/or jobs data 119 from multiple usersand/or multiple client devices 108. Candidate data 109 and/or jobs data119 may be used to generate various reports, which may, for example, beviewed by a candidate, recruiter, agent, or other individual on displayscreen 103 of client device 108 or on any other device.

Display screen 103 can be any element that graphically displaysinformation such as items from the database 111, and/or the results ofsteps performed on such items to provide information useful to a user.Such output may include, for example, raw data, suggested matches,scores, tables, graphs, data visualizations, navigational elements,graphical elements drawing attention to data visualizations or graphicalelements, queries requesting confirmation and/or parameters forinformation identification, display, or presentation, and/or the like.Additionally or alternatively, the display screen 103 may displayresults of the reactive talent matching algorithms in a wide variety offormats, including but not limited to lists, charts, graphs, and thelike. In at least one embodiment where only some of the desired outputis presented at a time, a dynamic control, such as a scrollingmechanism, may be available via input device 102 to change whichinformation is currently displayed, and/or to alter the manner in whichthe information is displayed.

In at least one embodiment, the information displayed on display screen103 may include data in text and/or graphical form. In at least oneembodiment, labels accompany data entries on display screen 103, or canbe displayed when user 100 taps on or clicks on a data entry, or causesan onscreen cursor to hover over a data entry.

Furthermore, as described in more detail below, display screen 103 canselectively present a wide variety of data related to viewing,annotating, and/or modifying candidate data, jobs data, and/or matchanalyses. In particular, as described herein, user 100 can provideinput, such as a selection from a menu containing a variety of options,to determine the various characteristics of the information presentedsuch as the type, scope, and/or format of the information to bedisplayed on display screen 103.

Processor 104 can be a conventional microprocessor for use in anelectronic device to perform operations on data under the direction ofsoftware, according to well-known techniques. Memory 105 can berandom-access memory, having a structure and architecture as are knownin the art, for use by processor 104 in the course of running software.

In one embodiment, the system can be implemented as software writ-ten inany suitable computer programming language, whether in a standalone orclient/server architecture. Alternatively, it may be implemented and/orembedded in hardware.

Method

As mentioned above, according to various embodiments, the system usesimproved automated techniques to more efficiently match candidates tojob opportunities. In at least one embodiment, the system uses areactive matching process that employs improved pattern-matchingalgorithms to determine exactly how well a candidate (also referred toas a job seeker) matches an employer's requirements. In at least oneembodiment, results are displayed in real time using user-friendlyvisual indicators on job displays and/or on a dashboard.

In at least one embodiment, the system analyzes a comprehensive set ofdata elements about candidates, based on information entered manually(e.g., by the individual) and/or information automatically extractedfrom the individual's digital résumé. The system also analyzes data fromjob postings that have been entered directly into the system and/orinformation that has been obtained by aggregation of online postings ofjobs. Such information can be collected from any available source, suchas for example websites of national and local employers, private jobboards, social media sites, state job boards, local and federalgovernment sites, military branch sites, hospitals, industryassociations, recruiters, education institutions, green job boards,non-profits, newspapers, volunteer sites, and/or chambers of commerce.

Referring now to FIG. 6 , there is shown a flow diagram depicting anoverall method for automated reactive talent matching according to oneembodiment. The method depicted in FIG. 6 (and in FIGS. 7 to 10 ,described below) can be implemented using any suitable architecture,including for example those depicted in FIG. 1 or 2 . In at least oneembodiment, the method is implemented by processor 104 of device 101 orprocessor of server 110. In other embodiments, the steps can beperformed by other components, or combinations of components.

The method begins 600. Candidate data and job posting data are collected601. As described in more detail below, this can include collectinginformation entered directly into the system and/or information obtainedby automated aggregation of online postings of jobs, social networks,profiles, and/or other data. Such information can be collected from anyavailable source.

Based on the collected information, candidates are ranked and matched602 against job postings. Results can be filtered 603, if desired, andare then displayed 604 to the candidate and/or to the employer.

In at least one embodiment, candidates can edit their profile data, andemployers can edit their job postings. If any edits are made 605, themethod re-turns to step 602.

Further details will be provided below, in connection with FIGS. 7Athrough 10 .

Referring now to FIG. 7A, there is shown a flow diagram depicting methodsteps for collecting candidate and job posting data, according to oneembodiment. The left side of the Figure depicts actions (steps)generally performed by the candidate; the middle depicts actionsgenerally performed by the system; and the right side depicts actionsgenerally performed by the employer.

A candidate registers 701 on the system, for example, by entering keydata elements that can be used to help match them to job postings.Examples of such data elements include, without limitation: Age;Residential Address; Highest Education Level; Preferred Occupation.

In at least one embodiment, the candidate enters information about hisor her work history, such as for example by entering 702 a resumecontaining additional key data elements that can be used to help matchthem to job postings.

Any suitable mechanism, data collection scheme, and/or input paradigmcan be used for performing step 702. For example, a candidate can uploada digital resume and/or complete a Resume Wizard or Background Wizard.

Data about job postings can be collected in any of a variety of ways. Inat least one embodiment, an employer can create 706 a job order(posting) directly into the system. Alternatively, an employer can post705 a job on an external site such as a private job listing website,social media site, or the like. In at least one embodiment, the systemaggregates 703 data from such external sites containing employerpostings.

The system collects 704 all candidate and job posting data, based ondata entered in steps 702 and 706, and/or aggregated in step 703.Examples of data elements that may be collected in step 704 include,without limitation:

-   -   Candidate information:        -   Information about the candidate, such as: previous            occupations; total experience; associated workplace skills;            associated tools and technology.        -   Information about the type of job the candidate is looking            for, such as: desired salary; desired location; shifts            willing to work; complete driver's license information;            security clearance level; language skills; typing speed;            work interests and values; any additional workplace skills;            and any additional tools and technology.    -   Job posting information:        -   General requirements, such as: job title, location of job            worksite, education requirement, work experience            requirement, salary the employer is willing to pay.        -   Specialized requirements, such as: shift, driver's license            required, driver's license endorsement required, age            restrictions, security clearance level specified, language            skills required, typing skills required.

As mentioned above, any of the above information can be collected viaany suitable mechanism, whether by explicit entry by the candidate,uploading of a resume, or by collection from any available source.

In at least one embodiment, the system stores 705 the collected data ina unified database, such as database 111 on server 110. The system nowhas sufficient data to employ pattern matching algorithms to determinewhich job postings are a best match for a particular candidate, as wellas to determine exactly how well the candidate matches the employer'srequirements.

Based on the information collected and stored in step 601, the systemperforms a first phase of analysis, wherein the system performs reactivematching to compare how well the candidate matches a job's requirementsfor education, work experience, certifications, salary, and/or the like.In at least one embodiment, the system includes a reactive matchingmodule that performs the steps involved in this comparison. The reactivematching module may be implemented, for example, as software running onprocessor 104 of device 101, client device 108, and/or server 110.

Referring now to FIG. 7B, there is shown a flow diagram depicting amethod for performing such comparison.

First, the system parses and scores 721 a set of general requirementsrelating to a candidate and a job posting. These can include, forexample:

-   -   The candidate's desired occupation and the occupation the        employer is looking for in their job posting.    -   The candidate's highest education level and the employer's        education requirement for the job.    -   The candidate's work experience and the experience required for        the job.    -   The proximity of candidate's residence to the job worksite.    -   The candidate's desired salary and the salary the employer is        willing to pay for the position.

In at least one embodiment, parsing and scoring step 721 includesperforming an algorithm that examines the level and proximity of matchfor each element, and weighs the value of each item. The algorithmexamines the candidate's home location, desired occupation, maximumeducation level, and work experience, and compares this information withthe job's worksite location, occupation requirements, required educationlevel, and required work experience. Each element is given a score thatdepending on how close the match is. For example, for a registered nurseposition, a candidate who has experience as a licensed practical nursewill receive a score that is higher than a candidate who has been a homehealth aide. However, the system will score the candidate lower on thiselement than a candidate who has experience as a registered nurse. Thesystem also factors into the scoring the amount of experience theindividual has as a nurse.

The system then parses and scores 722 a set of specialized requirementsrelating to a candidate and a job posting. These can include, forexample:

-   -   The shifts that the candidate is willing to work and the shift        of the job.    -   Whether the job requires a driver's license and whether the        candidate has a valid driver's license.    -   Whether the job requires driver's license endorsements and any        endorsements or limitations the candidate has on his or her        driver's license.    -   Whether the job has age restrictions and the candidate's age.    -   Whether the job has a specific security clearance level and the        candidate's security clearance level.    -   Whether the job requires language skills and the language        proficiency of the candidate.    -   Whether the job requires typing skills and the typing speed of        the candidate.

In at least one embodiment, parsing and scoring step 722 includesperforming an algorithm that examines detailed information about thecandidate and determines if he or she meets requirements that are veryspecific to the job. These requirements are often mandatory, such as aminimum age prerequisite.

Next, the system analyzes 723 the degree to which the candidate's skillsand characteristics match a job's requirements. In at least oneembodiment, step 723 takes into account the candidate's soft skills aswell as his or her technical skills, such as his or her experience withspecific tools and technologies. In at least one embodiment, step 723include analyzing the following elements:

-   -   The candidate's job skills and the job skill requirements of the        job.    -   The candidate's personal skills and the personal skills normally        required for the job.    -   The candidate's workplace skills and the workplace requirements        of the job.    -   The tools and technology required in the job and the candidate's        experience with the required tools.

In at least one embodiment, analysis step 723 includes performing analgorithm that examines the skills that the employer is looking for andassesses how many of these skills the candidate possesses.

Next, the system analyzes 724 the degree to which the candidate's workinterests and work values match the typical requirements of the kind ofemployer's job in question. In at least one embodiment, step 724 includeanalyzing the following elements:

-   -   The candidate's work interests and the work interests normally        associated with the job.    -   The candidate's work values and the work values normally        associated with the job.

In at least one embodiment, analysis step 724 includes performing analgorithm that examines the work interests and work values typicallyassociated with candidates in the job in question, and how well thecandidate matches these interests and values.

In at least one embodiment, based on the results of steps 721 to 724,the system generates 725 three summary scores, as follows:

-   -   Job Skills Match (expressed, for example, as a percentage);    -   General Requirements Match (expressed, for example, as a        percentage);    -   Special Requirements Match (expressed, for example, as a “Yes”,        “No” or “N/A”). If any special requirement is not met then a        “No” is displayed. All Special Requirements must be met for a        “Yes” to be displayed. If there are no Special Requirements a        “N/A” is displayed.

The results are then displayed 604. Referring now to FIG. 3 , there isshown a screen shot 300 depicting an example of a displayed list 301 ofmatching jobs 302, according to one embodiment. Column 303 displays jobtitles. Column 304 displays employers. Column 305 displays locations ofjobs. Column 306 displays salary.

Column 307 displays a graphical depiction of the Job Skills Match, whichmay be shown as a percentage of a circle. Column 308 displays agraphical depiction of the General Requirements Match. In at least oneembodiment, Job Skills Match and General Requirements Match aregraphically displayed as an arc forming a part of a circle; the degreeto which the circle is complete reflects the value of the Match,expressed as a percentage.

Column 309 displays a graphical depiction of a Special Requirementsmatch. In at least one embodiment, this may be displayed as a circlecontaining either “Yes”, “No” or “N/A”. Column 310 displays the sourceof the record.

The Job Skills Match, General Requirements Match, and SpecialRequirements Match provide employers with an accurate assessment of howwell a candidate meets their exact requirements. The employer can rankand filter candidates based on the total score or on individualcomponents of the score.

The same three scores provide candidates with an accurate assessment ofhow well they meet the requirements of specific jobs. Candidates canrank and filter jobs based on the total match score or on individualcomponents of the score. Additional details concerning such ranking andfiltering are provided below.

In at least one embodiment, the system can be configured toautomatically notify an employer of a potential match when a newcandidate enters the system, either directly or via the résuméaggregation process.

In at least one embodiment, each score can further be broken down intoits components. Referring now to FIG. 4 , there is shown an example of adisplay 400 of detailed information concerning a General RequirementsMatch score, according to one embodiment. In this example, thecomponents of the General Requirements Match are displayed as quadrantsof circle 401. The closer the match, the more quadrants of circle 401are filled in. A graphical display such as circle 401 can be shown todepict the level of match for Occupation, Education, Work Experienceand/or Salary. Also shown is the overall General Requirements Matchscore, shown as a portion of a circle as in FIG. 3 .

Referring now to FIG. 5A, there is shown an example of a display 500 ofdetailed information concerning a Specialized Requirements Match score,a according to one embodiment. In this example, the individualcomponents of the Specialized Requirements match are shown as circles501 containing the word “Yes” or “No”. In this example, the componentsare Shift, Minimum Age, Driver's License Required, Driver's LicenseEndorsements, Typing Speed, Security Clearance, and Language andProficiency. A circle 501 can be shown for each, if specified. Alsoshown is the overall Specialized Requirements Match Score 502, shown asthe word “Yes” or “No” in a circle as in FIG. 3 .

Referring now to FIG. 5B, there is shown an example of a display 510 ofdetailed information concerning a Skills Match score, a according to oneembodiment. In this example, the four individual components of theSkills Match are shown as a percentage of a circle 511. Here, these areJob Skills, Workplace Skills, Tools and Technology and Personal Skills.

Referring now to FIG. 5C, there is shown an example of a display 520 ofdetailed information concerning an Interest and Values Match score,according to one embodiment. In this example, the components of each ofthe Interest and Work Values Match are displayed as quadrants of circle521. The closer the match, the more quadrants of circle 521 are filledin.

Referring now to FIGS. 8 and 9 , there are shown flow diagrams depictingmethod steps for ranking and matching candidates against job postings,according to one embodiment. The left side of these Figures depictsactions (steps) generally performed by the candidate; the middle depictsactions generally performed by the system; and the right side depictsactions generally performed by the employer.

In at least one embodiment, the candidate selects 801 from a variety ofsearch methods to view job listings. In response, the system uses thereactive talent matching (RTM) techniques described herein to display804 matching job postings, ranked by the best match based on theselected search method.

In at least one embodiment, a candidate can click 802 on a Job Skillsheading to rank job postings by matching score. In response, the systemuses RTM to rank 806 job postings by the Job Skills matching score.

In at least one embodiment, an employer can use the system to initiate807 a search for candidates. In response, the system uses RTM to display803 matching candidates ranked by the best match based on the selectedsearch method.

In at least one embodiment, an employer can click on a Job Skillsheading to rank candidates by matching score. In response, the systemuses RTM to rank 805 candidates by the Job Skills matching score.

In at least one embodiment, a candidate can click 901 on a GeneralRequirements heading to rank job postings by matching score. Inresponse, the system uses RTM to rank 904 job postings by GeneralRequirements matching score.

In at least one embodiment, a candidate can click 902 on a SpecialRequirements heading to rank job postings by matching score. Inresponse, the system uses RTM to rank 906 job postings by the SpecialRequirements matching score.

In at least one embodiment, an employer can click 907 on a GeneralRequirements heading to rank candidates by matching score. In response,the system uses RTM to rank 903 candidates by the General Requirementsmatching score.

In at least one embodiment, an employer can click 908 on a SpecialRequirements heading to rank candidates by matching score. In response,the system uses RTM to rank 905 candidates by the Special Requirementsmatching score.

Referring now to FIG. 10 , there is shown a flow diagram depictingmethod steps for filtering results, displaying details, and editingcriteria, according to one embodiment. The left side of the Figuredepicts actions (steps) generally performed by the candidate; the middledepicts actions generally performed by the system; and the right sidedepicts actions generally performed by the employer.

In at least one embodiment, a candidate can click 1001 a matching scorelink for Job Skills to view details. Optionally, the candidate canselect 1002 a filter, for example to display only the jobs skills theyhave or do not have. In response, the system uses RTM to display orfilter 1006 Job Skills that match the required skills.

In at least one embodiment, a candidate can click 1003 a matching scorelink for General or Specialized Requirements. In response, the systemuses RTM to display 1007 details of all categories, including a set ofpanels. Each panel lists the comparison item and shows a value for thecandidate and for the job value. Each panel can also include links forupdating values.

In at least one embodiment, a candidate can edit 1004 job postingcriteria used for matching. In response to such a request, the systemdisplays 1008 a page for modifying candidate criteria used for matching.

In at least one embodiment, an employer can click 1010 a matching scorelink for Job Skills to view details. Optionally, the employer can select1011 a filter, for example to display only the jobs skills the candidatehas or does not have. In response, the system uses RTM to display orfilter 1005 Job Skills that match skills possessed by the candidate.

In at least one embodiment, an employer can click 1012 a matching scorelink for General or Specialized Requirements. In response, the systemuses RTM to display 1007 details of all categories, including a set ofpanels. Each panel lists the comparison item and shows a value for thecandidate and for the job value. Each panel can also include links forupdating values.

In at least one embodiment, an employer can edit 1013 job postingcriteria used for matching. In response to such a request, the systemdisplays 1009 a page for modifying job posting criteria used formatching.

One skilled in the art will recognize that the examples depicted anddescribed herein are merely illustrative, and that other arrangements ofuser interface elements can be used. In addition, some of the depictedelements can be omitted or changed, and additional elements depicted,without departing from the essential characteristics.

The present system and method have been described in particular detailwith respect to possible embodiments. Those of skill in the art willappreciate that the system and method may be practiced in otherembodiments. First, the particular naming of the components,capitalization of terms, the attributes, data structures, or any otherprogramming or structural aspect is not mandatory or significant, andthe mechanisms and/or features may have different names, formats, orprotocols. Further, the system may be implemented via a combination ofhardware and software, or entirely in hardware elements, or entirely insoftware elements. Also, the particular division of functionalitybetween the various system components described herein is merelyexemplary, and not mandatory; functions performed by a single systemcomponent may instead be performed by multiple components, and functionsperformed by multiple components may instead be performed by a singlecomponent.

Reference in the specification to “one embodiment” or to “an embodiment”means that a particular feature, structure, or characteristic describedin connection with the embodiments is included in at least oneembodiment. The appearances of the phrases “in one embodiment” or “in atleast one embodiment” in various places in the specification are notnecessarily all referring to the same embodiment.

Various embodiments may include any number of systems and/or methods forperforming the above-described techniques, either singly or in anycombination. Another embodiment includes a computer program productcomprising a non-transitory computer-readable storage medium andcomputer program code, encoded on the medium, for causing a processor ina computing device or other electronic device to perform theabove-described techniques.

Some portions of the above are presented in terms of algorithms andsymbolic representations of operations on data bits within a memory of acomputing device. These algorithmic descriptions and representations arethe means used by those skilled in the data processing arts to mosteffectively convey the substance of their work to others skilled in theart. An algorithm is here, and generally, conceived to be aself-consistent sequence of steps (instructions) leading to a desiredresult. The steps are those requiring physical manipulations of physicalquantities. Usually, though not necessarily, these quantities take theform of electrical, magnetic or optical signals capable of being stored,transferred, combined, compared and otherwise manipulated. It isconvenient at times, principally for reasons of common usage, to referto these signals as bits, values, elements, symbols, characters, terms,numbers, or the like. Furthermore, it is also convenient at times, torefer to certain arrangements of steps requiring physical manipulationsof physical quantities as modules or code devices, without loss ofgenerality.

It should be borne in mind, however, that all of these and similar termsare to be associated with the appropriate physical quantities and aremerely convenient labels applied to these quantities. Unlessspecifically stated otherwise as apparent from the following discussion,it is appreciated that throughout the description, discussions utilizingterms such as “processing” or “computing” or “calculating” or“displaying” or “determining” or the like, refer to the action andprocesses of a computer system, or similar electronic computing moduleand/or device, that manipulates and transforms data represented asphysical (electronic) quantities within the computer system memories orregisters or other such information storage, transmission or displaydevices.

Certain aspects include process steps and instructions described hereinin the form of an algorithm. It should be noted that the process stepsand instructions can be embodied in software, firmware and/or hardware,and when embodied in software, can be downloaded to reside on and beoperated from different platforms used by a variety of operatingsystems.

The present document also relates to an apparatus for performing theoperations herein. This apparatus may be specially constructed for therequired purposes, or it may comprise a general-purpose computing deviceselectively activated or reconfigured by a computer program stored inthe computing device. Such a computer program may be stored in acomputer readable storage medium such as, but is not limited to, anytype of disk including floppy disks, optical disks, CD-ROMs, DVD-ROMs,magnetic-optical disks, read-only memories (ROMs), random accessmemories (RAMs), EPROMs, EEPROMs, flash memory, solid state drives,magnetic or optical cards, application specific integrated circuits(ASICs), or any type of media suitable for storing electronicinstructions, and each coupled to a computer system bus. Further, thecomputing devices referred to herein may include a single processor ormay be architectures employing multiple processor designs for increasedcomputing capability.

The algorithms and displays presented herein are not inherently relatedto any particular computing device, virtualized system, or otherapparatus. Various general-purpose systems may also be used withprograms in accordance with the teachings herein, or it may proveconvenient to construct more specialized apparatus to perform therequired method steps. The required structure for a variety of thesesystems will be apparent from the description provided herein. Inaddition, the system and method are not described with reference to anyparticular programming language. It will be appreciated that a varietyof programming languages may be used to implement the teachingsdescribed herein, and any references above to specific languages areprovided for disclosure of enablement and best mode.

Accordingly, various embodiments include software, hardware, and/orother elements for controlling a computer system, computing device, orother electronic device, or any combination or plurality thereof. Suchan electronic device can include, for example, a processor, an inputdevice (such as a keyboard, mouse, touchpad, track pad, joystick,trackball, microphone, and/or any combination thereof), an output device(such as a screen, speaker, and/or the like), memory, long-term storage(such as magnetic storage, optical storage, and/or the like), and/ornetwork connectivity, according to techniques that are well known in theart. Such an electronic device may be portable or non-portable. Examplesof electronic devices that may be used for implementing the describedsystem and method include: a mobile phone, personal digital assistant,smartphone, kiosk, server computer, enterprise computing device, desktopcomputer, laptop computer, tablet computer, consumer electronic device,or the like. An electronic device may use any operating system such as,for example and without limitation: Linux; Microsoft Windows, availablefrom Microsoft Corporation of Redmond, Wash.; Mac OS X, available fromApple Inc. of Cupertino, Calif.; iOS, available from Apple Inc. ofCupertino, Calif.; Android, available from Google, Inc. of MountainView, Calif.; and/or any other operating system that is adapted for useon the device.

While a limited number of embodiments have been described herein, thoseskilled in the art, having benefit of the above description, willappreciate that other embodiments may be devised. In addition, it shouldbe noted that the language used in the specification has beenprincipally selected for readability and instructional purposes, and maynot have been selected to delineate or circumscribe the subject matter.Accordingly, the disclosure is intended to be illustrative, but notlimiting, of scope.

What is claimed is:
 1. A computer-implemented method for matchingcandidates against online job postings, comprising: a) at a processor,automatically extracting information describing a plurality ofcandidates; b) at the processor, automatically extracting job postinginformation from a plurality of disparate external online sources havinga plurality of job postings, the job posting information comprising: aset of general requirements, each representing a general characteristicthat is required of a candidate to be considered for the job posting;and a set of specialized requirements, each representing a morespecialized characteristic that is required of a candidate to beconsidered for the job posting; c) storing the job posting informationat an electronic storage device; d) receiving a request; e) responsiveto the request, at the processor, comparing at least a subset of thecandidates against the general requirements and specialized requirementsof at least a subset of the job postings, to determine suitability ofcandidates for the job postings; and f) at an output device, generatingoutput to display results of the comparing step; wherein comparing theat least a subset of the candidates against the general requirements andspecialized requirements of at least a subset of the job postingscomprises performing the substeps of, for each candidate: e.1)determining whether the candidate matches the general requirements of atleast one job posting; and e.2) subsequent to substep e.1), responsiveto a determination that the candidate matches the general requirementsof at least one job posting, determining whether the candidate matchesthe specialized requirements of the at least one job posting.
 2. Thecomputer-implemented method of claim 1, wherein: steps a), b), and e)are performed by a processor operating at a server communicativelycoupled to a plurality of client machines; step c) is performed at astorage device communicatively coupled to the server; step d) comprisesreceiving a request transmitted from one of the client machines to theserver; and step f) comprises transmitting a signal to the clientmachine that transmitted the request, the signal comprising arepresentation of the results for display on the client machine.
 3. Thecomputer-implemented method of claim 1, wherein comparing the at least asubset of the candidates against the general requirements andspecialized requirements of at least a subset of the job postingscomprises performing at least one selected from the group consisting of:determining a degree to which characteristics of at least one candidatematch the general requirements and specialized requirements of at leastone job posting; ranking a plurality of candidates according to a degreeto which each candidate matches the general requirements and specializedrequirements of at least one job posting; and ranking a plurality of jobpostings according to a degree to which a candidate matches the generalrequirements and specialized requirements of each job posting.
 4. Thecomputer-implemented method of claim 1, wherein automatically extractinginformation describing a plurality of candidates comprises automaticallyextracting, from electronically submitted resumes, informationdescribing at least one selected from the group consisting of: candidatequalifications; and a description of the types of jobs a candidate isseeking.
 5. The computer-implemented method of claim 1, whereincomparing the at least a subset of the candidates against the generalrequirements and specialized requirements of at least a subset of thejob postings comprises performing weighted analysis of a plurality offactors describing the candidates and the job postings.
 6. Thecomputer-implemented method of claim 1, wherein the generated outputcomprises at least one selected from the group consisting of: for atleast one candidate, at least one selected from the group consisting of:a list of jobs; an indicator of a general requirements match for eachjob in the list of jobs; an indicator of a special requirement match foreach job in the list of jobs; and for at least one job, at least oneselected from the group consisting of: a list of candidates; anindicator of a general requirements match for each candidate in the listof candidates; and an indicator of a special requirement match for eachcandidate in the list of candidates.
 7. The computer-implemented methodof claim 1, wherein the generated output comprises, for each of at leastone candidate, a list of a plurality of job postings for the candidate,including a graphical indication of a degree of match between thecandidate and each of the listed job postings.
 8. Thecomputer-implemented method of claim 7, wherein: steps a), b), and e)are performed by a processor operating at a server communicativelycoupled to a plurality of client machines; step c) is performed at astorage device communicatively coupled to the server; step d) comprisesreceiving a request transmitted from one of the client machines to theserver; and step f) comprises transmitting a signal to the clientmachine that transmitted the request, the signal comprising arepresentation of the results for display on the client machine.
 9. Thecomputer-implemented method of claim 7, wherein comparing the at least asubset of the candidates against the general requirements andspecialized requirements of at least a subset of the job postingscomprises performing at least one selected from the group consisting of:determining a degree to which characteristics of at least one candidatematch the requirements of at least one job posting; ranking a pluralityof candidates according to a degree to which each candidate matches therequirements of at least one job posting; and ranking a plurality of jobpostings according to a degree to which a candidate matches therequirements of each job posting.
 10. The computer-implemented method ofclaim 7, wherein automatically extracting information describing aplurality of candidates comprises automatically extracting, fromelectronically submitted resumes, information describing at least oneselected from the group consisting of: candidate qualifications; and adescription of the types of jobs a candidate is seeking.
 11. Thecomputer-implemented method of claim 7, wherein comparing the at least asubset of the candidates against the general requirements andspecialized requirements of at least a subset of the job postingscomprises performing weighted analysis of a plurality of factorsdescribing the candidates and the job postings.
 12. Thecomputer-implemented method of claim 7, wherein the generated outputcomprises at least one selected from the group consisting of: for atleast one candidate, at least one selected from the group consisting of:a list of jobs; a graphical indicator of a degree of match between thecandidate and at least one general requirement of each job in the listof jobs; and a graphical indicator of a degree of match between thecandidate and at least one special requirement of each job in the listof jobs; and for at least one job, at least one selected from the groupconsisting of: a list of candidates; a graphical indicator of a degreeof match between at least one general requirement of the job and eachcandidate in the list of candidates; and a graphical indicator of adegree of match between at least one special requirement of the job andeach candidate in the list of candidates.
 13. The computer-implementedmethod of claim 1, wherein: the set of general requirements comprises atleast one selected from the group consisting of: a location of a jobsite; an education requirement; a work experience requirement; and anexpected salary; and the set of specialized requirements comprises atleast one selected from the group consisting of: a work shift; adriver's license requirement; a driver's license endorsementrequirement; at least one age restriction; at least one securityclearance level requirement; at least one language skill requirement;and at least one typing skill requirement.
 14. A non-transitorycomputer-readable medium for matching candidates against job postings,comprising instructions stored thereon, that when executed by aprocessor, perform the steps of: a) automatically extracting informationdescribing a plurality of candidates; b) automatically extracting jobposting information from a plurality of disparate external onlinesources having a plurality of job postings, the job posting informationcomprising: a set of general requirements, each representing a generalcharacteristic that is required of a candidate to be considered for thejob posting; and a set of specialized requirements, each representing amore specialized characteristic that is required of a candidate to beconsidered for the job posting; c) causing an electronic storage deviceto store the job posting information; d) receiving a request; e)responsive to the request, comparing at least a subset of the candidatesagainst the general requirements and specialized requirements of atleast a subset of the job postings, to determine suitability ofcandidates for the job postings; and f) causing an output device todisplay results of the comparing step; wherein comparing the at least asubset of the candidates against the general requirements andspecialized requirements of at least a subset of the job postingscomprises performing the substeps of, for each candidate: e.1)determining whether the candidate matches the general requirements of atleast one job posting; and e.2) subsequent to substep e.1), responsiveto a determination that the candidate matches the general requirementsof at least one job posting, determining whether the candidate matchesthe specialized requirements of the at least one job posting.
 15. Thenon-transitory computer-readable medium of claim 14, wherein comparingthe at least a subset of the candidates against the general requirementsand specialized requirements of at least a subset of the job postingscomprises performing at least one selected from the group consisting of:determining a degree to which characteristics of at least one candidatematch requirements of at least one job posting; ranking a plurality ofcandidates according to a degree to which each candidate matchesrequirements of at least one job posting; and ranking a plurality of jobpostings according to a degree to which a candidate matches requirementsof each job posting.
 16. The non-transitory computer-readable medium ofclaim 14, wherein automatically extracting information describing aplurality of candidates comprises automatically extracting, fromelectronically submitted resumes, information describing at least oneselected from the group consisting of: candidate qualifications; and adescription of the types of jobs a candidate is seeking.
 17. Thenon-transitory computer-readable medium of claim 14, wherein comparingthe at least a subset of the candidates against the general requirementsand specialized requirements of at least a subset of the job postingscomprises performing weighted analysis of a plurality of factorsdescribing the candidates and the job postings.
 18. The non-transitorycomputer-readable medium of claim 14, wherein the generated outputcomprises at least one selected from the group consisting of: for atleast one candidate, at least one selected from the group consisting of:a list of jobs; an indicator of a general requirements match for eachjob in the list of jobs; and an indicator of a special requirement matchfor each job in the list of jobs; and for at least one job, at least oneselected from the group consisting of: a list of candidates; anindicator of a general requirements match for each candidate in the listof candidates; and an indicator of a special requirement match for eachcandidate in the list of candidates.
 19. The non-transitorycomputer-readable medium of claim 14, wherein causing the output deviceto display results of the comparing step comprises causing the outputdevice to display, for each of at least one candidate, a list of aplurality of job postings for the candidate, including a graphicalindication of a degree of match between the candidate and each of thelisted job postings.
 20. The non-transitory computer-readable medium ofclaim 19, wherein comparing the at least a subset of the candidatesagainst the general requirements and specialized requirements of atleast a subset of the job postings comprises performing at least oneselected from the group consisting of: determining a degree to whichcharacteristics of at least one candidate match requirements for atleast one job posting; ranking a plurality of candidates according to adegree to which each candidate matches requirements for at least one jobposting; and ranking a plurality of job postings according to a degreeto which a candidate matches requirements for each job posting.
 21. Thenon-transitory computer-readable medium of claim 19, whereinautomatically extracting information describing a plurality ofcandidates comprises automatically extracting, from electronicallysubmitted resumes, information describing at least one selected from thegroup consisting of: candidate qualifications; and a description of thetypes of jobs a candidate is seeking.
 22. The non-transitorycomputer-readable medium of claim 19, wherein comparing the at least asubset of the candidates against the general requirements andspecialized requirements of at least a subset of the job postingscomprises performing weighted analysis of a plurality of factorsdescribing the candidates and the job postings.
 23. The non-transitorycomputer-readable medium of claim 19, wherein the generated outputcomprises at least one selected from the group consisting of: for atleast one candidate, at least one selected from the group consisting of:a list of jobs; a graphical indicator of a degree of match between thecandidate and at least one general requirement of each job in the listof jobs; and a graphical indicator of a degree of match between thecandidate and at least one special requirement of each job in the listof jobs; and for at least one job, at least one selected from the groupconsisting of: a list of candidates; a graphical indicator of a degreeof match between at least one general requirement of the job and eachcandidate in the list of candidates; and a graphical indicator of adegree of match between at least one special requirement of the job andeach candidate in the list of candidates.
 24. The non-transitorycomputer-readable medium of claim 14, wherein: the set of generalrequirements comprises at least one selected from the group consistingof: a location of a job site; an education requirement; a workexperience requirement; and an expected salary; and the set ofspecialized requirements comprises at least one selected from the groupconsisting of: a work shift; a driver's license requirement; a driver'slicense endorsement requirement; at least one age restriction; at leastone security clearance level requirement; at least one language skillrequirement; and at least one typing skill requirement.
 25. A system formatching candidates against job postings, comprising: a processor,configured to perform the steps of: automatically extracting informationdescribing a plurality of candidates; and extracting job postinginformation from a plurality of disparate external online sources havinga plurality of job postings, the job posting information comprising: aset of general requirements, each representing a general characteristicthat is required of a candidate to be considered for the job posting;and a set of specialized requirements, each representing a morespecialized characteristic that is required of a candidate to beconsidered for the job posting; an electronic storage device,communicatively coupled to the processor, configured to store the jobposting information; and an electronic communications module,communicatively coupled to the processor, configured to receive arequest; wherein the processor is further configured to, responsive tothe request, compare at least a subset of the candidates against thegeneral requirements and specialized requirements of at least a subsetof the job postings, to determine suitability of candidates for the jobpostings; and wherein the system further comprises an output device,communicatively coupled to the processor, configured to generate outputto display results of the comparing step; and wherein comparing the atleast a subset of the candidates against the general requirements andspecialized requirements of at least a subset of the job postingscomprises performing the substeps of, for each candidate: determiningwhether the candidate matches the general requirements of at least onejob posting; and subsequent to the determining substep, responsive to adetermination that the candidate matches the general requirements of atleast one job posting, determining whether the candidate matches thespecialized requirements of the at least one job posting.
 26. The systemof claim 25, wherein comparing the at least a subset of the candidatesagainst the general requirements and specialized requirements of atleast a subset of the job postings comprises performing at least oneselected from the group consisting of: determining a degree to whichcharacteristics of at least one candidate match requirements of at leastone job posting; ranking a plurality of candidates according to a degreeto which each candidate matches requirements of at least one jobposting; and ranking a plurality of job postings according to a degreeto which a candidate matches requirements of each job posting.
 27. Thesystem of claim 25, wherein automatically extracting informationdescribing a plurality of candidates comprises automatically extracting,from electronically submitted resumes, information describing at leastone selected from the group consisting of: candidate qualifications; anda description of the types of jobs a candidate is seeking.
 28. Thesystem of claim 25, wherein comparing the at least a subset of thecandidates against the general requirements and specialized requirementsof at least a subset of the job postings comprises performing weightedanalysis of a plurality of factors describing the candidates and the jobpostings.
 29. The system of claim 25, wherein the generated outputcomprises at least one selected from the group consisting of: for atleast one candidate, at least one selected from the group consisting of:a list of jobs; an indicator of a general requirements match for eachjob in the list of jobs; and an indicator of a special requirement matchfor each job in the list of jobs; and for at least one job, at least oneselected from the group consisting of: a list of candidates; anindicator of a general requirements match for each candidate in the listof candidates; and an indicator of a special requirement match for eachcandidate in the list of candidates.
 30. The system of claim 25, whereinthe generated output comprises, for each of at least one candidate, alist of a plurality of job postings for the candidate, including agraphical indication of a degree of match between the candidate and eachof the listed job postings.
 31. The system of claim 30, whereincomparing the at least a subset of the candidates against the generalrequirements and specialized requirements of at least a subset of thejob postings comprises performing at least one selected from the groupconsisting of: determining a degree to which characteristics of at leastone candidate match requirements for at least one job posting; ranking aplurality of candidates according to a degree to which each candidatematches requirements for at least one job posting; and ranking aplurality of job postings according to a degree to which a candidatematches requirements for each job posting.
 32. The system of claim 30,wherein automatically extracting information describing a plurality ofcandidates comprises automatically extracting, from electronicallysubmitted resumes, information describing at least one selected from thegroup consisting of: candidate qualifications; and a description of thetypes of jobs a candidate is seeking.
 33. The system of claim 30,wherein comparing the at least a subset of the candidates against thegeneral requirements and specialized requirements of at least a subsetof the job postings comprises performing weighted analysis of aplurality of factors describing the candidates and the job postings. 34.The system of claim 30, wherein the generated output comprises at leastone selected from the group consisting of: for at least one candidate,at least one selected from the group consisting of: a list of jobs; agraphical indicator of a degree of match between the candidate and atleast one general requirement of each job in the list of jobs; agraphical indicator of a degree of match between the candidate and atleast one special requirement of each job in the list of jobs; and forat least one job, at least one selected from the group consisting of: alist of candidates; a graphical indicator of a degree of match betweenat least one general requirement of the job and each candidate in thelist of candidates; and a graphical indicator of a degree of matchbetween at least one special requirement of the job and each candidatein the list of candidates.
 35. The system of claim 25, wherein: the setof general requirements comprises at least one selected from the groupconsisting of: a location of a job site; an education requirement; awork experience requirement; and an expected salary; and the set ofspecialized requirements comprises at least one selected from the groupconsisting of: a work shift; a driver's license requirement; a driver'slicense endorsement requirement; at least one age restriction; at leastone security clearance level requirement; at least one language skillrequirement; and at least one typing skill requirement.
 36. Acomputer-implemented method for matching candidates against online jobpostings, comprising: a) at a processor, automatically extractinginformation describing a plurality of candidates; b) at the processor,automatically extracting job posting information from a plurality ofdisparate external online sources having a plurality of job postings,the job posting information comprising: a set of general requirements,each representing a general characteristic that is required of acandidate to be considered for the job posting; and a set of specializedrequirements, each representing a more specialized characteristic thatis required of a candidate to be considered for the job posting; c)storing the job posting information at an electronic storage device; d)receiving a request; e) responsive to the request, at the processor,comparing at least a subset of the candidates against at least a subsetof the job postings, to determine suitability of candidates for the jobpostings; f) at an output device, generating output to display resultsof the comparing step; g) determining whether at least one newly addedcandidate has been identified as a potential match for at least one ofthe job postings; and h) responsive to at least one newly addedcandidate being identified as a potential match for at least one of thejob postings, automatically transmitting a notification to at least oneemployer associated with the at least one job posting for which thenewly added candidate has been identified as a potential match, thenotification identifying the at least one candidate; wherein comparingthe at least a subset of the candidates against the general requirementsand specialized requirements of at least a subset of the job postingscomprises performing the substeps of, for each candidate: e.1)determining whether the candidate matches the general requirements of atleast one job posting; and e.2) subsequent to substep e.1), responsiveto a determination that the candidate matches the general requirementsof at least one job posting, determining whether the candidate matchesthe specialized requirements of the at least one job posting.
 37. Thecomputer-implemented method of claim 36, wherein: steps a), b), and e)are performed by a processor operating at a server communicativelycoupled to a plurality of client machines; step c) is performed at astorage device communicatively coupled to the server; step d) comprisesreceiving a request transmitted from one of the client machines to theserver; and step f) comprises transmitting a signal to the clientmachine that transmitted the request, the signal comprising arepresentation of the results for display on the client machine.
 38. Thecomputer-implemented method of claim 36, wherein comparing the at leasta subset of the candidates against the general requirements andspecialized requirements of at least a subset of the job postingscomprises performing at least one selected from the group consisting of:determining a degree to which characteristics of at least one candidatematch the requirements of at least one job posting; ranking a pluralityof candidates according to a degree to which each candidate matches therequirements of at least one job posting; and ranking a plurality of jobpostings according to a degree to which a candidate matches therequirements of each job posting.
 39. The computer-implemented method ofclaim 36, wherein automatically extracting information describing aplurality of candidates comprises automatically extracting, fromelectronically submitted resumes, information describing at least oneselected from the group consisting of: candidate qualifications; and adescription of the types of jobs a candidate is seeking.
 40. Thecomputer-implemented method of claim 36, wherein comparing the at leasta subset of the candidates against the general requirements andspecialized requirements of at least a subset of the job postingscomprises performing weighted analysis of a plurality of factorsdescribing the candidates and the job postings.
 41. Thecomputer-implemented method of claim 36, wherein the generated outputcomprises at least one selected from the group consisting of: for atleast one candidate, at least one selected from the group consisting of:a list of jobs; an indicator of a general requirements match for eachjob in the list of jobs; and an indicator of a special requirement matchfor each job in the list of jobs; and for at least one job, at least oneselected from the group consisting of: a list of candidates; anindicator of a general requirements match for each candidate in the listof candidates; and an indicator of a special requirement match for eachcandidate in the list of candidates.
 42. A non-transitorycomputer-readable medium for matching candidates against job postings,comprising instructions stored thereon, that when executed by aprocessor, perform the steps of: a) automatically extracting informationdescribing a plurality of candidates; b) automatically extracting jobposting information from a plurality of disparate external onlinesources having a plurality of job postings, the job posting informationcomprising: a set of general requirements, each representing a generalcharacteristic that is required of a candidate to be considered for thejob posting; and a set of specialized requirements, each representing amore specialized characteristic that is required of a candidate to beconsidered for the job posting; c) causing an electronic storage deviceto store the job posting information; d) receiving a request; e)responsive to the request, comparing at least a subset of the candidatesagainst at least a subset of the job postings, to determine suitabilityof candidates for the job postings; f) causing an output device todisplay results of the comparing step; g) determining whether at leastone newly added candidate has been identified as a potential match forat least one of the job postings; and h) responsive to at least onenewly added candidate being identified as a potential match for at leastone of the job postings, automatically causing a notification to betransmitted to at least one employer associated with the at least onejob posting for which the newly added candidate has been identified as apotential match, the notification identifying the at least onecandidate; wherein comparing the at least a subset of the candidatesagainst the general requirements and specialized requirements of atleast a subset of the job postings comprises performing the substeps of,for each candidate: e.1) determining whether the candidate matches thegeneral requirements of at least one job posting; and e.2) subsequent tosubstep e.1), responsive to a determination that the candidate matchesthe general requirements of at least one job posting, determiningwhether the candidate matches the specialized requirements of the atleast one job posting.
 43. The non-transitory computer-readable mediumof claim 42, wherein comparing the at least a subset of the candidatesagainst the general requirements and specialized requirements of atleast a subset of the job postings comprises performing at least oneselected from the group consisting of: determining a degree to whichcharacteristics of at least one candidate match requirements for atleast one job posting; ranking a plurality of candidates according to adegree to which each candidate matches requirements for at least one jobposting; and ranking a plurality of job postings according to a degreeto which a candidate matches requirements for each job posting.
 44. Thenon-transitory computer-readable medium of claim 42, whereinautomatically extracting information describing a plurality ofcandidates comprises automatically extracting, from electronicallysubmitted resumes, information describing at least one selected from thegroup consisting of: candidate qualifications; and a description of thetypes of jobs a candidate is seeking.
 45. The non-transitorycomputer-readable medium of claim 42, wherein comparing the at least asubset of the candidates against the general requirements andspecialized requirements of at least a subset of the job postingscomprises performing weighted analysis of a plurality of factorsdescribing the candidates and the job postings.
 46. The non-transitorycomputer-readable medium of claim 42, wherein the generated outputcomprises at least one selected from the group consisting of: for atleast one candidate, at least one selected from the group consisting of:a list of jobs; an indicator of a general requirements match for eachjob in the list of jobs; and an indicator of a special requirement matchfor each job in the list of jobs; and for at least one job, at least oneselected from the group consisting of: a list of candidates; anindicator of a general requirements match for each candidate in the listof candidates; and an indicator of a special requirement match for eachcandidate in the list of candidates.
 47. A system for matchingcandidates against job postings, comprising: a processor, configured toperform the steps of: automatically extracting information describing aplurality of candidates; and extracting job posting information from aplurality of disparate external online sources having a plurality of jobpostings, the job posting information comprising: a set of generalrequirements, each representing a general characteristic that isrequired of a candidate to be considered for the job posting; and a setof specialized requirements, each representing a more specializedcharacteristic that is required of a candidate to be considered for thejob posting; an electronic storage device, communicatively coupled tothe processor, configured to store the job posting information; and anelectronic communications module, communicatively coupled to theprocessor, configured to receive a request; wherein the processor isfurther configured to, responsive to the request, compare at least asubset of the candidates against at least a subset of the job postings,to determine suitability of candidates for the job postings; and whereinthe system further comprises an output device, communicatively coupledto the processor, configured to generate output to display results ofthe comparing step; and wherein the processor is further configured todetermine whether at least one newly added candidate has been identifiedas a potential match for at least one of the job postings; and whereinthe electronic communications module is further configured to,responsive to at least one newly added candidate being identified as apotential match for at least one of the job postings, automaticallytransmit a notification to at least one employer associated with the atleast one job posting for which the newly added candidate has beenidentified as a potential match, the notification identifying the atleast one candidate; and wherein comparing the at least a subset of thecandidates against the general requirements and specialized requirementsof at least a subset of the job postings comprises performing thesubsteps of, for each candidate: determining whether the candidatematches the general requirements of at least one job posting; andsubsequent to the determining substep, responsive to a determinationthat the candidate matches the general requirements of at least one jobposting, determining whether the candidate matches the specializedrequirements of the at least one job posting.
 48. The system of claim47, wherein comparing the at least a subset of the candidates againstthe general requirements and specialized requirements of at least asubset of the job postings comprises performing at least one selectedfrom the group consisting of: determining a degree to whichcharacteristics of at least one candidate match requirements for atleast one job posting; ranking a plurality of candidates according to adegree to which each candidate matches requirements for at least one jobposting; and ranking a plurality of job postings according to a degreeto which a candidate matches requirements for each job posting.
 49. Thesystem of claim 47, wherein automatically extracting informationdescribing a plurality of candidates comprises automatically extractinginformation, from electronically submitted resumes, describing at leastone selected from the group consisting of: candidate qualifications; anda description of the types of jobs a candidate is seeking.
 50. Thesystem of claim 47, wherein comparing the at least a subset of thecandidates against the general requirements and specialized requirementsof at least a subset of the job postings comprises performing weightedanalysis of a plurality of factors describing the candidates and the jobpostings.
 51. The system of claim 47, wherein the generated outputcomprises at least one selected from the group consisting of: for atleast one candidate, at least one selected from the group consisting of:a list of jobs; an indicator of a general requirements match for eachjob in the list of jobs; and an indicator of a special requirement matchfor each job in the list of jobs; and for at least one job, at least oneselected from the group consisting of: a list of candidates; anindicator of a general requirements match for each candidate in the listof candidates; and an indicator of a special requirement match for eachcandidate in the list of candidates.